function get_form($form){ if($form){ if($form['attributes']){ $element['form_attributes'] = $form['attributes']; } foreach($form AS $id => $adat){ if($id == 'attributes'){ continue; } $prefix = ""; $suffix = ""; $ids = ""; $style = ""; $class = ""; $attr = ""; if(isset($adat['class'])){ $class = "class='".$adat['class']."'"; } if(isset($adat['maxlength'])){ $attr.= " maxlength='".$adat['maxlength']."' "; } if(isset($adat['id'])){ $ids = "id='".$adat['id']."'"; } if(isset($adat['style'])){ $style = "style='".$adat['style']."'"; } if(isset($adat['prefix'])){ $prefix = $adat['prefix'].""; } if(isset($adat['suffix'])){ $suffix = $adat['suffix'].""; } if($adat['attr']){ $attribute = ''; foreach($adat['attr'] as $k=>$v){ $attribute.= $k.="='".$v."'"; } }else{ $attribute = ''; } switch($adat['type']){ case'text': $element[$id]->value =""; break; case'file': $element[$id]->value =""; break; case'password': $element[$id]->value =""; break; case'hidden': $element[$id]->value =""; break; case'item': $element[$id]->value =$adat['value']; break; case'textarea': $element[$id]->value =""; break; case'checkbox': $element[$id]->value =""; break; case'editor': add_js("/includes/ckeditor/ckeditor.js"); add_head_script(' '); $adat['label'] = $adat['label']; $element[$id]->value =""; break; case'submit': $element[$id]->value =""; break; case'button': $element[$id]->value ="";; break; case'select': $element[$id]->value =""; break; } if($prefix){ $element[$id]->prefix = $prefix; } if($suffix){ $element[$id]->suffix = $suffix; } $element[$id]->label =(isset($adat['label'])?$adat['label'].($adat['kotelezo']?'*':''):''); if($adat['syntax'] == "off"){ $element[$id]->syntax = "off"; }else{ $element[$id]->syntax = "on"; } if($adat['no_label']){ $element[$id]->no_label = "on"; }else{ $element[$id]->no_label = "off"; } if(isset($adat['description'])){ $element[$id]->value = $element[$id]->value; $element[$id]->description = "".$adat['description'].""; }else{ $element[$id]->value = $element[$id]->value; } } } return $element; } function html_form($html_form){ $head = ''; if($html_form['form_attributes']){ foreach($html_form['form_attributes'] as $k=>$v){ $head.=$k.'="'.$v.'" '; } } $return = '
"; return $return; } function form_validate($form = ''){ $error = ''; $mezok = array(); $mezok_retype = array(); if($form){ foreach($form AS $id => $adat){ if(isset($adat['kotelezo'])){ if(!isset($_POST[$id]) or !$_POST[$id]){ $mezok[$adat['name']] = "".$adat['label'].""; $error = 1; } } if(isset($adat['retype'])){ if($_POST[$adat['retype']]!=$_POST[$id]){ $mezok_retype[] = "".$adat['label']." ".t("nem egyenlő ezzel:")." ".$form[$adat['retype']]['label'].""; $error = 1; } } if(isset($adat['is_email']) and $_POST[$id]){ $pattern = '/^([a-z0-9])(([-a-z0-9._])*([a-z0-9]))*\@([a-z0-9])' . '(([a-z0-9-])*([a-z0-9]))+' . '(\.([a-z0-9])([-a-z0-9_-])?([a-z0-9])+)+$/i'; if(preg_match($pattern,$_POST[$id])) { }else{ $mezok[$adat['name']] = "".$adat['label'].""; $error = 1; } } if(isset($adat['is_int'])){ if(is_numeric($_POST[$id])) { }else{ $mezok[$adat['name']] = "".$adat['label'].""; $error = 1; } } } if($error){ if($mezok){ system_add_print_log(t("Ellenőrizze a következő mezőket:")." ".implode(", ",$mezok).""); } if($mezok_retype){ system_add_print_log(" ".implode(", ",$mezok_retype).""); } return false; }else{ return true; } } } ?> /** * @desc * * @version 0.9 * @author james // queen-site */ class Mailer{ /** @var style A változó tartalmazza az emailhez használt stíluslap elérési útját (relatív, pl: Static/Email/Style.css) */ public $style; /** @var cimzett A változóba kerül a címzett email címe */ public $cimzett; /** @var felado_nev Ide kerül a feladó neve, alapesetben a define-olt RENDSZER_EMAIL_NEV-et használja */ public $felado_nev; /** @var felado_email Ide kerül a feladó címe, alapesetben a define-olt RENDSZER_EMAIL_CIM-et használja */ public $felado_email; /** @var subject A kiküldendő email tárgya */ public $subject; /** @var uzenet A kiküldendő mail szövege */ public $uzenet; /** @var attached_images Tömb, ez tartalmazza a kiküldendő emailhez csatolt képeket */ public $attached_images; /** @var boundary */ private $boundary; /** @var header */ private $header; /** @var tmp */ private $tmp; /** @var email_id A változó tartalmazza a kiküldendő email id-jét, a trace-eléshez elengedhetetlen! */ private $email_id; /** @var mail_cache Ha a változó true (alapértelmezés), akkor létezik mail cache, eltárolja a kiküldött maileket ! */ public $mail_cache; /** @var mail_store Ha a változó true (alapértelmezés), akkor létezik mail cache, eltárolja a kiküldött maileket ! */ public $mail_trace; /** @var success A változó tartalmazza a send() függyvény hívása után a sikeresen elküldött emaileket */ public $success; /** @var fail A változó tartalmazza a send() függyvény hívása után a sikertelen emaileket */ public $fail; /** * @desc * * @param string $subject Ez tartalmazza az üzenet címét. Ha indításkor nincs megadva, akkor később kell megadni $mailer->subject módon * @param string $uzenet Ez tartalmazza az üzenetet. Ha indításkor nincs megadva, akkor később kell megadni $mailer->uzenet módon * @param string $style Ez tartalmazza az üzenet stílusát. Ha indításkor nincs megadva, akkor később kell megadni $mailer->style módon */ function __construct($subject = '', $uzenet = '', $style = '' ){ if($subject != ''){ $this->subject = $subject; } if($uzenet != ''){ $this->uzenet = $uzenet; } if($style != ''){ $this->style = $style; } $this->mail_cache = false; $this->mail_trace = false; $this->felado_nev = RENDSZER_EMAIL_NEV; $this->felado_email = RENDSZER_EMAIL_CIM; $this->boundary(5); } /** * @desc * @version * @author james // queensite */ private function boundary($number = ''){ $this->tmp = explode("@", $this->felado_email); $this->boundary = $this->tmp[0]."-".md5(time()); $this->boundary2 = $this->tmp[0]."-".md5(time()); } /** * @desc * @version * @author james // queensite */ public function message_processor(){ $this->subject = "=?UTF-8?B?".base64_encode($this->subject)."?="; $this->head(); if(count($this->personal_elements)){ foreach($this->personal_elements AS $index => $element){ $this->personal_elements[$index] = '['.$element.']'; } } $this->uzenet = str_replace($this->personal_elements, $this->personal_array, $this->uzenet); if(count($this->attached_images)){ foreach($this->attached_images AS $index => $image){ $this->uzenet = str_replace($image, 'cid:image'.$index, $this->uzenet); } } } /** * @desc * @version * @author james // queensite */ public function send($cimzett = ''){ if($this->mail_trace == true){ $this->store_mail(); $this->trace(); //$this->message = str_replace('{trace_track}', '![]() |
| ".$this->uzenet." |
![]() |